package com.yilin.platform.controller;

import com.yilin.platform.base_core.application.BaseController;
import com.yilin.platform.base_core.application.ReturnData;
import com.yilin.platform.base_core.interceptor.EncryptInterceptor;
import com.yilin.platform.base_core.commons.utils.MapUtil;
import com.yilin.platform.base_core.commons.utils.ParamUtil;
import com.yilin.platform.entity.cmbc.CmbcTradeRecord;
import com.yilin.platform.service.IBankCmbcService;
import com.yilin.platform.base_core.tools.cmbc.entity.balanceDetails.TrsDtlDownLoad;
import com.yilin.platform.base_core.tools.cmbc.utils.CmbcResData;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * 民生银行
 * <p>
 * 接口调联控制层
 */
@RestController
@RequestMapping("/platform/cmbc/")
public class BankCmbcController extends BaseController {
    @Resource
    IBankCmbcService cmbcService;

    /**
     * 发起单笔转账 易林调用
     */
    @PostMapping(value = "transferXfer")
    @EncryptInterceptor
    public ReturnData<CmbcResData> transferXfer(CmbcTradeRecord recordFlow) {

        ParamUtil.isNull(recordFlow.getTranAmount(), "请输入付款金额");
        ParamUtil.isNull(recordFlow.getTradeNo(), "请输入本地流水号");
        ParamUtil.isNull(recordFlow.getOutAcctNo(), "请输入人付款账号");
        ParamUtil.isNull(recordFlow.getOutAcctName(), "请输入付款人名称");
        ParamUtil.isNull(recordFlow.getInAcctNo(), "请输入收款人账号");
        ParamUtil.isNull(recordFlow.getCertNo(), "请输入企业自制凭证号");
        ParamUtil.isNull(recordFlow.getInAcctName(), "请输入收款人名称");
        ParamUtil.isNull(recordFlow.getExternBank(), "请选择是否跨行");
        if (!recordFlow.getExternBank().equals("1") && !recordFlow.getExternBank().equals("0")) return jsonView(FAIL_CODE, "跨行类型错误");
        ParamUtil.isNull(recordFlow.getLocalFlag(), "请选择汇路");
        ParamUtil.isNull(recordFlow.getRcvCustType(), "请选择收款人账户类型");
        if (!recordFlow.getRcvCustType().equals("1") && !recordFlow.getRcvCustType().equals("2")) return jsonView(FAIL_CODE, "收款人账户类型错误");
        if (recordFlow.getExternBank().equals("1")) {
            ParamUtil.isNull(recordFlow.getBankCode(), "请输入款人开户行行号");
            ParamUtil.isNull(recordFlow.getBankName(), "请输入收款人开户行名称");
        }
        Integer count=cmbcService.getCmbcHandleSingleTransferCount();
        if(count>=10)return jsonView(false, "民生银行单笔转账存在处理中条数过多，请稍后尝试！");
        CmbcTradeRecord recordFlow1 = cmbcService.getRecordFlowByTradeNo(recordFlow.getTradeNo());
        if (recordFlow1 != null) {
            if (recordFlow1.getStatus() == CmbcTradeRecord.Status.create) recordFlow.setId(recordFlow1.getId());
            else return jsonView(false, "该交易单号已存在，并已经提交银行处理");
        }
        recordFlow.setPayType(CmbcTradeRecord.PayType.transfer);
        recordFlow.setStatus(CmbcTradeRecord.Status.create);
        cmbcService.saveOrUpdate(recordFlow);
        CmbcResData cmbcResData = cmbcService.transferXfer(recordFlow);
        return jsonView(SUCCESS_CODE, "发起成功", cmbcResData);
    }


    /**
     * 单笔转账查询
     *
     * @param insId 本地流水号
     */
    @PostMapping(value = "transferQryXfer")
    @EncryptInterceptor
    public ReturnData<CmbcTradeRecord> transferQryXfer(String insId) {
        ParamUtil.isNull(insId, "请输入交易单号");
        CmbcTradeRecord recordFlow = cmbcService.getRecordFlowByTradeNo(insId);
        ParamUtil.isNull(recordFlow, "交易单号错误");
        recordFlow = cmbcService.platTransferQryXfer(recordFlow);
        return jsonView(SUCCESS_CODE, "发起成功", recordFlow);
    }

    /**
     * 获取前置机配置信息
     */
    @PostMapping(value = "getCmbcInfo")
    @EncryptInterceptor
    public ReturnData<Object> getCmbcInfo() {
        Map<String, Object> map = cmbcService.getCmbcInfo();
        return jsonView(SUCCESS_CODE, "发起成功", map);
    }

    /**
     * 批量转账
     * 备注 jsonContent  {"collectionList":[{"tradeNo":"put("localFlag","tradeCode":"11"....}],"batchNo":"kdsjfkldjflkdjf","payerAcct":"213467464634663","payerName":"213467464634663"}
     * collectionList;
     * map.put("tradeNo","");//   流水号
     * map.put("localFlag",""); //汇路 行内交易输入0跨行交易汇路为:6 小额实时支付7 大额实时支付 11 网银互联(暂不支持)
     * map.put("tradeCode","");// 企业自制凭证号 8位数字
     * map.put("accountType","");// 收款账户类型 必输 0.企业 1.个人卡 2.个人折 1
     * map.put("acntToNo",""); //收款账号
     * map.put("acntToName",""); //收款户名
     * map.put("bankCode",""); //收款行联行号行内转账不用输入大小额时填支付行号网银互联时填写网银互联支付行号
     * map.put("openBankName",""); // 收款行名 行内转账不输，跨行转账必须输入。大小额时填写支付行名 网银互联是填写网银互联支付行名
     * map.put("remark",""); //备注
     * map.put("useTo",""); //用用途代码 公转私时必输。 394 其他合法收入——运费 375 其他合法收入——资金退还 其他参考文档
     * map.put("amount",""); //转账金额
     * map.put("tradeName",""); //备注
     */
    @PostMapping(value = "transferBatchXfer")
    @EncryptInterceptor
    public ReturnData<CmbcResData> transferBatchXfer(String jsonContent) {
        ParamUtil.isNull(jsonContent, "请传入数据！");
        Map<String, Object> map = MapUtil.jsonToMap(jsonContent);
        ParamUtil.isNull(map, "JSON格式错误，解析失败！");
        ParamUtil.isNull(map.get("batchNo"), "请传入批次单号");
        ParamUtil.isNull(map.get("payerAcct"), "请传入付款人账号");
        ParamUtil.isNull(map.get("payerName"), "请传入付款人名称");
        ParamUtil.isNull(map.get("collectionList"), "请传入收款人集合");
        List<Map<String, Object>> collectionList = (List<Map<String, Object>>) map.get("collectionList");
        ParamUtil.isNull(collectionList, "获取收款人信息失败！");
        List<CmbcTradeRecord> recordFlowList = new ArrayList<>();
        for (Map<String, Object> mapCollect : collectionList) {
            CmbcTradeRecord recordFlow = new CmbcTradeRecord();
            recordFlow.setRemark(MapUtil.getMapString(mapCollect, "remark"));
            recordFlow.setTradeName(MapUtil.getMapString(mapCollect, "tradeName"));
            recordFlow.setTranAmount((Double) mapCollect.get("amount"));
            recordFlow.setTradeNo(MapUtil.getMapString(mapCollect, "tradeNo"));
            recordFlow.setBatchNo(map.get("batchNo").toString());
            recordFlow.setStatus(CmbcTradeRecord.Status.create);
            recordFlow.setOutAcctName(map.get("payerName").toString());
            recordFlow.setOutAcctNo(map.get("payerAcct").toString());
            recordFlow.setInAcctName(MapUtil.getMapString(mapCollect, "acntToName"));
            recordFlow.setInAcctNo(MapUtil.getMapString(mapCollect, "acntToNo"));
            recordFlow.setPayType(CmbcTradeRecord.PayType.batchTransfer);
            recordFlowList.add(recordFlow);
        }
        Integer count=cmbcService.getCmbcHandleBatchTransferCount();
        if(count>=10)return jsonView(false, "民生银行批量转账存在处理中条数过多，请稍后尝试！");
        cmbcService.saveOrUpdateBatch(recordFlowList);
        CmbcResData cmbcResData = cmbcService.transferBatchXfer(map.get("batchNo").toString(), map.get("payerAcct").toString(), collectionList);

        return jsonView(SUCCESS_CODE, "发起成功", cmbcResData);
    }
    /**
     * 批量代付工资 费用报销
     * 备注 jsonContent  {"collectionList":[{"tradeNo":"put("localFlag","tradeCode":"11"....}],"batchNo":"kdsjfkldjflkdjf","payerAcct":"213467464634663","payType":"2"}
     * collectionList;
                        map.put("tradeNo","");//   流水号
     *                  map.put("acntToNo",""); //收款账号
     *                  map.put("acntToName","");//收款户名
     *                  map.put("useTo","");// 用途
     *                  map.put("remark",""); //备注
     *                  map.put("bankType",""); //0：同行，1：他行 必输 1
     *                  map.put("localFlag",""); //汇路 行内交易输入0跨行交易汇路为:6 小额实时支付7 大额实时支付 11 网银互联(暂不支持)
     *                  map.put("openBankName",""); // 收款行名 行内转账不输，跨行转账必须输入。大小额时填写支付行名 网银互联是填写网银互联支付行名
     *                  map.put("bankCode",""); //收款行行号
     *                  map.put("tradeCode",""); //企业自制凭证号 非必输 8
     *                  map.put("amount",""); //转账金额
     */
    @PostMapping(value = "batchCostReimbNew")
    @EncryptInterceptor
    public ReturnData<CmbcResData> batchCostReimbNew(String jsonContent) {
        ParamUtil.isNull(jsonContent, "请传入数据！");
        Map<String, Object> map = MapUtil.jsonToMap(jsonContent);
        ParamUtil.isNull(map, "JSON格式错误，解析失败！");
        ParamUtil.isNull(map.get("batchNo"), "请传入批次单号");
        ParamUtil.isNull(map.get("payerAcct"), "请传入付款人账号");
        ParamUtil.isNull(map.get("payerName"), "请传入付款人名称");
        ParamUtil.isNull(map.get("collectionList"), "请传入收款人集合");
        List<Map<String, Object>> collectionList = (List<Map<String, Object>>) map.get("collectionList");
        ParamUtil.isNull(collectionList, "获取收款人信息失败！");
        List<CmbcTradeRecord> recordFlowList = new ArrayList<>();
        for (Map<String, Object> mapCollect : collectionList) {
            CmbcTradeRecord recordFlow = new CmbcTradeRecord();
            recordFlow.setRemark(MapUtil.getMapString(mapCollect, "remark"));
            recordFlow.setTradeName(MapUtil.getMapString(mapCollect, "tradeName"));
            recordFlow.setTranAmount((Double) mapCollect.get("amount"));
            recordFlow.setTradeNo(MapUtil.getMapString(mapCollect, "tradeNo"));
            recordFlow.setBatchNo(map.get("batchNo").toString());
            recordFlow.setStatus(CmbcTradeRecord.Status.create);
            recordFlow.setOutAcctName(map.get("payerName").toString());
            recordFlow.setOutAcctNo(map.get("payerAcct").toString());
            recordFlow.setInAcctName(MapUtil.getMapString(mapCollect, "acntToName"));
            recordFlow.setInAcctNo(MapUtil.getMapString(mapCollect, "acntToNo"));
            recordFlow.setPayType(CmbcTradeRecord.PayType.batchBehalf);
            recordFlowList.add(recordFlow);
        }
        Integer count=cmbcService.getCmbcHandleFeeAgencyCount();
        if(count>=10)return jsonView(false, "民生银行公转私处理中条数过多，请稍后尝试！");
        cmbcService.saveOrUpdateBatch(recordFlowList);
        CmbcResData cmbcResData = cmbcService.batchCostReimbNew(map.get("batchNo").toString(), map.get("payerAcct").toString(),map.get("payType").toString(), collectionList);
        return jsonView(SUCCESS_CODE, "发起成功", cmbcResData);
    }


    /**
     * 批量转账查询
     *
     * @param batchTradeNo 批次单号
     */
    @PostMapping(value = "transferQryBatchXfer")
    @EncryptInterceptor
    public ReturnData<List<CmbcTradeRecord>> initTmsConfigure(String batchTradeNo) {
        ParamUtil.isNull(batchTradeNo, "请输入批次单号");
        List<CmbcTradeRecord> recordFlowList = cmbcService.getRecordFlowByBatchNo(batchTradeNo);
        ParamUtil.isNull(recordFlowList, "批次单号错误");
        recordFlowList = cmbcService.platTransferQryBatch(recordFlowList);
        return jsonView(SUCCESS_CODE, "获取成功", recordFlowList);
    }
    /**
     * 代发工资 费用报销查询
     *
     * @param batchTradeNo 批次单号
     */
    @PostMapping(value = "getQryBatchCostReimbNew")
    @EncryptInterceptor
    public ReturnData<List<CmbcTradeRecord>> getQryBatchCostReimbNew(String batchTradeNo) {
        ParamUtil.isNull(batchTradeNo, "请输入批次单号");
        List<CmbcTradeRecord> recordFlowList = cmbcService.getRecordFlowByBatchNo(batchTradeNo);
        ParamUtil.isNull(recordFlowList, "批次单号错误");
        recordFlowList = cmbcService.platTransferQryHealfBatch(recordFlowList);
        return jsonView(SUCCESS_CODE, "获取成功", recordFlowList);
    }
    /**
     * 定期账户明细查询交易(depositAccountDetail)
     *
     * @param companyNo 单号账号
     * @param beginDate 开始日期
     * @param endDate   截止日期
     */
    @PostMapping(value = "depositAccountDetail")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> depositAccountDetail(String companyNo, Date beginDate, Date endDate) {
        ParamUtil.isNull(companyNo, "请输入客户账号");
        ParamUtil.isNull(beginDate, "请输入开始日期");
        ParamUtil.isNull(endDate, "请输入截止日期");
        CmbcResData cmbcResData = cmbcService.depositAccountDetail(companyNo, beginDate, endDate);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：银企直联明细下载(新)(trsDtlDownLoad)
     * 备注:
     *
     * @param acntNo    单号账号
     * @param dateFrom  开始日期
     * @param dateTo    截止日期
     * @param sartNo    开始页
     * @param queryRows 显示多少条
     */
    @PostMapping(value = "getTrsDtlDownLoad")
    @EncryptInterceptor
    public ReturnData<TrsDtlDownLoad> getTrsDtlDownLoad(String acntNo, Date dateFrom, Date dateTo, Integer sartNo, Integer queryRows) {
        ParamUtil.isNull(acntNo, "请输入客户账号");
        ParamUtil.isNull(dateFrom, "请输入开始日期");
        ParamUtil.isNull(dateTo, "请输入截止日期");
        ParamUtil.isNull(sartNo, "请输入页码");
        ParamUtil.isNull(queryRows, "请输入显示条数");
        TrsDtlDownLoad trsDtlDownLoad = cmbcService.trsDtlDownLoad(acntNo, dateFrom, dateTo, sartNo, queryRows);
        return jsonView(SUCCESS_CODE, "查询成功", trsDtlDownLoad);
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：余额查询交易（新）(qryBalNew)
     * 备注:
     *
     * @param acntNos 成员单位账号
     */
    @PostMapping(value = "getQryBalNew")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getQryBalNew(String[] acntNos) {
        ParamUtil.isNull(acntNos, "请输入账号");
        CmbcResData cmbcResData = cmbcService.qryBalNew(acntNos);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：历史余额查询(qryHistoryBal)
     * 备注:
     *
     * @param acntNo  查询账号（★） 32
     * @param qryDate 查询时间(若不输入，则默认查询当日余额)(格
     */
    @PostMapping(value = "getQryHistoryBal")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getQryHistoryBal(String acntNo, Date qryDate) {
        ParamUtil.isNull(acntNo, "请输入账号");
        ParamUtil.isNull(qryDate, "请输入查询时间");
        CmbcResData cmbcResData = cmbcService.qryHistoryBal(acntNo, qryDate);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：交易明细查询(qryTrsDtl)
     * 备注:
     *
     * @param acntNo   待查明细的单位账号（★）
     * @param dateFrom 开始日期（含）格式为YYYY-MM-DD（★） 10
     * @param dateTo   截止日期（含）格式为YYYY-MM-DD（★）
     * @param page     页码，必须是有意义的数字
     * @param limit    页码大学，必须是有意义的数字
     */
    @PostMapping(value = "getQryTrsDtl")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getQryTrsDtl(String acntNo, Date dateFrom, Date dateTo, Integer page, Integer limit) {
        ParamUtil.isNull(acntNo, "请输入查询时间");
        ParamUtil.isNull(dateFrom, "请输入开始时间");
        ParamUtil.isNull(dateTo, "请输入结束时间");
        ParamUtil.isNull(page, "请输入页码");
        ParamUtil.isNull(limit, "请输入页面条数");
        Integer startNo = page;
        Integer endNo = limit;
        if (startNo > 1) {
             endNo= (page * limit) +limit;
             startNo= (page * limit)+1;
        }
        CmbcResData cmbcResData = cmbcService.qryTrsDtl(acntNo, dateFrom, dateTo, startNo, endNo);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：交易明细对账单PDF下载(ElectNotePrint)
     * 备注:
     *
     * @param acntNo    待查明细的单位账号（★）
     * @param startDate 开始日期（含）为YYYYMMDD（★）
     * @param endDate   截止日期（含）为YYYYMMDD（★）
     *                  返回FileContent返回文件体 FileName 文件名称
     */
    @PostMapping(value = "getElectNotePrint")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getElectNotePrint(String acntNo, Date startDate, Date endDate) {
        ParamUtil.isNull(acntNo, "请输入待查明细的单位账号");
        ParamUtil.isNull(startDate, "请输入开始日期");
        ParamUtil.isNull(endDate, "请输入截止日期");
        CmbcResData cmbcResData = cmbcService.electNotePrint(acntNo, startDate, endDate);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48 功能：客户账单回单下载（支持最多3个同时下载）(b2eElectNoteDownLoadNew)
     * 备注
     *
     * @param acNo      账号（★）
     * @param innerNos  回单编号（★）
     * @param fileNames 文件名称（★）
     * @param operFlag  操作标识下载（★）
     * @param needSign  是否添加可信签章
     */
    @PostMapping(value = "getB2eElectNoteDownLoadNew")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getB2eElectNoteDownLoadNew( String acNo, String[] innerNos, String[] fileNames, Integer operFlag, Integer needSign) {
        ParamUtil.isNull(acNo, "请输入账号");
        ParamUtil.isNull(innerNos, "请输入回单编号");
        ParamUtil.isNull(fileNames, "请输入文件名称");
        ParamUtil.isNull(operFlag, "请输入操作标识");
        CmbcResData cmbcResData = cmbcService.b2eElectNoteDownLoadNew(acNo, innerNos, fileNames, operFlag, needSign);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48 功能：客户回单查询(ElectnoteListQry) (支持T0，T-n日回单)
     * 备注
     *
     * @param saAcctNo     账号（★）
     * @param qryStartDate 查询起始日期（★）
     * @param qryEndDate   查询截止日期（★）
     * @param printState   打印状态0
     * @param minMoney     发生额范围小
     * @param maxMoney     发生额范围大
     * @param loanFlag     借贷标识
     * @param page         当前页码
     * @param limit        查询笔数
     */
    @PostMapping(value = "getElectnoteListQry")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getElectnoteListQry(String saAcctNo, Date qryStartDate, Date qryEndDate, Integer printState,
                                                               Double minMoney, Double maxMoney, Integer loanFlag, Integer page, Integer limit) {
        ParamUtil.isNull(saAcctNo, "请输入账号");
        ParamUtil.isNull(qryStartDate, "请输入查询起始日期");
        ParamUtil.isNull(qryStartDate, "请输入查询截止日期");
        if ((minMoney != null && minMoney < 0) || (maxMoney != null && maxMoney < 0)) return jsonView(false, "请输入正确的发生额范围");
        if ((minMoney != null && maxMoney == null) || (maxMoney != null && minMoney == null)) return jsonView(false, "请输入完整的发生额范围");
        if (minMoney != null) {
            minMoney = new BigDecimal(minMoney.toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
            maxMoney = new BigDecimal(maxMoney.toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
        }
        CmbcResData cmbcResData = cmbcService.electnoteListQry(saAcctNo, qryStartDate, qryEndDate, printState, minMoney, maxMoney, loanFlag, page, limit);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能： 利率查询(InterestSettlementQryB2e)
     * 备注:
     *
     * @param insId   流水号
     * @param acNo    账号
     * @param qryDate 查询时间（★）
     */
    @PostMapping(value = "getInterestSettlementQryB2e")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getInterestSettlementQryB2e(String insId, String acNo, Date qryDate) {
        ParamUtil.isNull(insId, "请输入交易流水号");
        ParamUtil.isNull(acNo, "请输入账号");
        ParamUtil.isNull(qryDate, "请输入查询时间");
        CmbcResData cmbcResData = cmbcService.interestSettlementQryB2e(insId, acNo, qryDate);
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能： 根据银行名称查询银行信息
     * 备注:
     *
     * @param bankNames 流水号
     */
    @PostMapping(value = "getBankBatchBankNo")
    @EncryptInterceptor
    public ReturnData<List<Map<String, Object>>> getBankBatchBankNo(String[] bankNames) {
        ParamUtil.isNull(bankNames, "银行名称为空");
        List<Map<String, Object>> list = cmbcService.getBankBatchBankNo(bankNames);
        return jsonView(SUCCESS_CODE, "查询成功", list);
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：活期存款列表查询交易(qryAcctList)
     * 备注:
     */
    @PostMapping(value = "getQryAcctList")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getQryAcctList() {
        CmbcResData cmbcResData = cmbcService.qryAcctList();
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }

    /**
     * 创建人：yhp 时间：2023年7月6日09:40:48   功能：公告查询(EntNoticeQryB2e)
     * 备注:
     */
    @PostMapping(value = "getEntNoticeQryB2e")
    @EncryptInterceptor
    public ReturnData<Map<String, Object>> getEntNoticeQryB2e() {
        CmbcResData cmbcResData = cmbcService.getEntNoticeQryB2e();
        return jsonView(SUCCESS_CODE, "查询成功", cmbcResData.getDataMap());
    }



}
